#ifndef __6D9D4B85_3947_4080_B39D_B215EEEBFCF0__
#define __6D9D4B85_3947_4080_B39D_B215EEEBFCF0__

#include "../import/head.h"
#include "../tools/head.h"

/////////////////////////////////////////////////////////////////////////////////////////
// 

namespace xos
{
    class aio_impl;
    class aio_data;
    class aio_key;

    class aio_helper
    {
    public:
        aio_helper( aio_impl * pAioImpl );
        ~aio_helper();

    protected:
        // 
        // true : quit; false : not quit iocp.
        // 
        bool on_tcp( int nResult, DWORD dwBytes, aio_key * lpKey, aio_data * lpData );

        // 
        // true : quit; false : not quit iocp.
        // 
        bool on_udp( int nResult, DWORD dwBytes, aio_key * lpKey, aio_data * lpData );

    protected:
        aio_impl * m_pAioImpl;

    public:
        // 
        // true : quit; false : not quit iocp.
        // 
        bool proc( int nResult, DWORD dwBytes, aio_key * lpKey, aio_data * lpData );

    };
} // xos

#endif // __6D9D4B85_3947_4080_B39D_B215EEEBFCF0__
